package com.youlv.yl.util;

import com.youlv.yl.config.RedisKeyConfig;
import com.youlv.yl.config.SystemConfig;
import org.apache.commons.lang3.StringUtils;

/**
 * @author fenghe
 * @date 2022/1/2 9:14
 */
public class CodeUtils {
    /**
     * 封装发送验证码
     */
    public static boolean code(String phone, String template, String codeType) {
        // 入参校验
        if (StringUtils.isNotEmpty(phone)) {
            // 正则校验  手机号
            if (phone.matches(SystemConfig.REG_PHONE)) {
                // 生成验证码
                int code = NumUtils.createNum(SystemConfig.CODE_LEN);
                // 发送验证码
                if (AliSmsUtils.sendCode(template, phone, code)) {
                    // 存储验证码 1.有效期  10分钟 Redis
                    JedisUtils.addString(codeType + phone, code + "", RedisKeyConfig.SMS_RCODE_TIME);
                    // 返回运行结果
                    return true;
                }
            }
        }
        return false;
    }
}
